package com.quik.web.room.service;

import java.util.List;

import com.quik.entity.Room;
import com.quik.entity.RoomArea;
import com.quik.entity.RoomType;

/**
 * 功能说明：
 *        房间的业务逻辑
 * @author Jenny
 *
 */
public interface RoomService {
	/**
	 * 根据条件查询房间类型总数
	 * @return
	 */
	public int findRoomTypeCount(String roomTypeName, String productNo, String productName) throws Exception;
	
	/**
	 * 根据条件查询房间类型列表（分页）
	 * @param roomType
	 * @param productNo
	 * @param productName
	 * @param intPage
	 * @param pageSize
	 * @return
	 * @throws Exception
	 */
	public List findRoomType(String roomTypeName, String productNo, String productName, 
			Integer intPage, Integer pageSize) throws Exception;
	
	/**
	 * 检查用户是否有重名
	 * @param roomTypeName
	 * @return
	 * @throws Exception
	 */
	public boolean checkRoomTypeName(String roomTypeName) throws Exception;
	
	/**
	 * 新增房间类型
	 * @param roomType
	 * @throws Exception
	 */
	public void addRoomType(RoomType roomType) throws Exception;
	
	/**
	 * 根据条件查询房间区域总数
	 * @param roomAreaName
	 * @return
	 * @throws Exception
	 */
	public int findRoomAreaCount(String roomAreaName) throws Exception;
	
	/**
	 * 根据条件查询房间区域列表（分页）
	 * @param roomAreaName
	 * @param intPage
	 * @param pageSize
	 * @return
	 * @throws Exception
	 */
	public List findRoomArea(String roomAreaName, int intPage, int pageSize) throws Exception;
	
	/**
	 * 检查房间区域是否同名
	 * @param roomAreaName
	 * @return 如果同名返回true, 否则返回False
	 * @throws Exception
	 */
	public boolean checkRoomAreaName(String roomAreaName) throws Exception;
	
	/**
	 * 新增房间区域
	 * @param roomArea
	 * @throws Exception
	 */
	public void addRoomArea(RoomArea roomArea) throws Exception;
	
	/**
	 * 根据条件查询房间总数
	 * @param roomNo
	 * @param roomTypeName
	 * @param roomAreaName
	 * @return
	 * @throws Exception
	 */
	public int findRoomCount(String roomNo, String roomTypeName, String roomAreaName) throws Exception;
	
	/**
	 * 根据条件查询房间列表（分页）
	 * @param roomNo
	 * @param roomTypeName
	 * @param roomAreaName
	 * @param intPage
	 * @param pageSize
	 * @return
	 * @throws Exception
	 */
	public List findRoom(String roomNo, String roomTypeName, String roomAreaName, int intPage, int pageSize)throws Exception;
	
	/**
	 * 检查房间编号是否重复
	 * @param roomNo
	 * @return 如果重复返回true, 否则返回false
	 * @throws Exception
	 */
	public boolean checkRoomNo(String roomNo) throws Exception;
	
	/**
	 * 新增房间
	 * @param room
	 * @throws Exception
	 */
	public void addRoom(Room room) throws Exception;
}
